#ifndef SCENE_H
#define SCENE_H

#include "object.h"
#include <QList>

class Octree;

//The Scene will contain a list of objects
class Scene
{
public:
    Scene();
    ~Scene();

    void add_object(Object *);
    void add_octree(Octree *);
    void subdivide_octrees();
    void delete_object(int pos);
    void delete_octree(int pos);    
    //This method could return the whole list of objects
    //QList<Object*>* get_scene_objs();

    //TODO: Think of a better way to access objects?
    Object* get_object(int pos);
    Octree* get_octree(int pos);
    int get_num_objs();

    QList<Object*> m_objects;
    QList<Octree*> m_octrees;
};

#endif // SCENE_H
